/**
 * API 相关类型定义
 */

/** 通用 API 响应结构 */
export interface ApiResponse<T = any> {
  code: number
  message: string
  data: T
  success: boolean
}

/** 分页响应结构 */
export interface PaginatedResponse<T> {
  list: T[]
  total: number
  page: number
  pageSize: number
}

/** 请求配置选项 */
export interface RequestOptions {
  /** 是否显示加载状态 */
  loading?: boolean
  /** 是否显示错误提示 */
  showError?: boolean
  /** 自定义错误处理 */
  errorHandler?: (error: Error) => void
  /** 请求超时时间（毫秒） */
  timeout?: number
  /** 重试次数 */
  retry?: number
}

/** Token 信息 */
export interface TokenInfo {
  token: string
  expiresAt?: number
}

/** 错误响应结构 */
export interface ApiError {
  code: number
  message: string
  details?: any
}